package com.huilian.iotbox.admin.wap.dao;

import com.huilian.iotbox.data.dto.StatsStoreDto;
import com.huilian.iotbox.data.dto.StatsUserDto;
import com.huilian.iotbox.data.vo.StatsStoreVo;
import com.huilian.iotbox.data.vo.StatsUserVo;
import org.apache.ibatis.annotations.Mapper;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 谢洛涛
 * @date 2021/4/22 11:44
 */
@Mapper
public interface StatsUserDao {
    List<StatsUserVo> findUserStatistics(StatsUserDto statsUserDto);

    StatsUserVo findOrderStatistics(StatsUserDto statsUserDto);


    /**
     * 获取本月统计的销售额.
     *
     * @param statsUserDto
     * @return
     */
    BigDecimal findThisMonthTurnover(StatsUserDto statsUserDto);


    List<StatsUserVo> findByDateStore(StatsUserDto statsUserDto);

    StatsUserVo findActivityMoney(StatsUserDto statsUserDto);

    List<StatsUserVo> findUserStatisticsAndApplet(StatsUserDto statsUserDto);


    /**
     * 根据user查找
     *
     * @param userInfo
     * @return
     */
    StatsUserVo findByUserId(StatsUserDto statsUserDto);

    StatsUserVo findSubAccountStatsUser(StatsUserDto statsUserDto);

    /**
     * 门店套餐统计
     * */
    List<StatsUserVo> findOrderStatistStorePackage(StatsUserDto statsUserDto);

    List<StatsUserVo> findOrderStatistDouYinPackage(StatsUserDto statsUserDto);

    List<StatsUserVo> findOrderStatistMeiTuanPackage(StatsUserDto statsUserDto);


    StatsStoreVo findActivityMoneyByStoreId(StatsStoreDto statsStoreDto);

    StatsUserVo findActivityActivityCancelledMoney(StatsUserDto conditionStatsUserDto);

    StatsUserVo findCommodityTypeTurnover(StatsUserDto statsUserDto);

    StatsUserVo findOrderTurnoverByUserIdAndEndDate(StatsUserDto dto);

    StatsUserVo findSubAccountOrderTurnoverByEndDate(StatsUserDto dto);

    List<StatsUserVo> findOrderStatistStorePackageV2(StatsUserDto statsUserDto);

    List<StatsUserVo> findOrderStatistDouYinPackageV2(StatsUserDto statsUserDto);

    List<StatsUserVo> findOrderStatistMeiTuanPackageV2(StatsUserDto statsUserDto);
}
